#ifndef PURSUIT_H
#define PURSUIT_H

#include <iostream>
#include <string>
#include <memory>
#include "i_give_gifts.h"
#include "school_girl.h"

class Pursuit : public IGiveGifts
{
private:
  SchoolGirlPtr girl_;
public:
  Pursuit(SchoolGirlPtr mm): girl_(mm) {}
  void giveDolls() override;
  void giveFlowers() override;
  void giveChocolate() override;
};

using PursuitPtr = std::shared_ptr<Pursuit>;

void Pursuit::giveDolls() {
  std::cout << girl_->getName() << ", 送你玩偶！" << std::endl;
}

void Pursuit::giveFlowers() {
  std::cout << girl_->getName() << ", 送你花！" << std::endl;
}

void Pursuit::giveChocolate() {
  std::cout << girl_->getName() << ", 送你巧克力！" << std::endl;
}


#endif